package com.qzh.QVM.Simulator;

import lombok.Data;
import lombok.experimental.Accessors;

/**
 * 模拟内存块
 */
@Data
@Accessors(chain = true)
public class Block {
    /**
     *
     */
    private int id;
    /**
     *
     */
    private Integer ownerId;
    /**
     *生命周期
     */
    private int life;
    /**
     * 一个周期内的引用计数
     * 在清理后会归0
     */
    private int usedCount;
    /**
     * 引用时间因数，数值越大上次引用的时间越远
     * 等于当次引用时系统的runTime数值
     */
    private int lastTime;
    /**
     * 数据
     */
    private Object data;
    /**
     * 内存类型，新生代-老生代-永久代逐步变迁
     */
    private BlockType type;
}
